﻿using SheepStorage.Domain.DTO.Output;
using SheepStorage.Domain.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SheepStorage.Service.Interface
{
    public interface ISheepMomPergnantService
    {

        /// <summary>
        /// 种母妊娠查询
        /// </summary>
        /// <param name="startTime">开始时间</param>
        /// <param name="endTime">结束时间</param>
        /// <param name="OverBit">种母耳号</param>
        /// <param name="MomPergnantPrincipal">负责人</param>
        /// <param name="MomPergnantResult">妊娠结果</param>
        /// <param name="MomPergnantCount">同胎数</param>
        /// <returns></returns>
        Task<List<SheepMomPergnantDto>> GetSheepMomPergnant(string? startTime, string? endTime, string? OverBit, string? MomPergnantPrincipal, int? MomPergnantResult, int? MomPergnantCount);
        /// <summary>
        /// 种母妊娠列表添加
        /// </summary>
        /// <param name="m"></param>
        /// <returns></returns>
        Task<int> AddSheepMomPergnant(List<SheepMomPergnant> sheepMomPergnant);
        /// <summary>
        /// 删除种母妊娠信息
        /// </summary>
        /// <param name="MomPergnantId"></param>
        /// <returns></returns>
        Task<int> DelSheepMomPergnant(int MomPergnantId);
        /// <summary>
        /// 反填种母妊娠信息
        /// </summary>
        /// <param name="MomPergnantId"></param>
        /// <returns></returns>

        Task<SheepMomPergnant> BackfillSheepMomPergnant(int MomPergnantId);
        /// <summary>
        /// 修改种母妊娠信息
        /// </summary>
        /// <param name="m"></param>
        /// <returns></returns>
        Task<int> UpdateSheepMomPergnant(SheepMomPergnant m);
    }
}
